package tpgrandt.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Time;
import java.util.Date;
import java.util.Vector;
import tpgrandt.varios.Fecha;

/**
 * @version 1.0
 * @created 19-Jan-2010 18:39:27
 */
public class FechaDAO {

	/**
	 * 
	 * @param hora_fin
	 * @param fecha_fin
	 * @param hora_inicio
	 * @param fecha_inicio
	 * @param periodo
	 */
	public static void guardarPeriodo(Time hora_fin, Date fecha_fin, Time hora_inicio, Date fecha_inicio, Fecha periodo){

	}

 	public static Vector<Integer> fechasCerradas() {
            try {
                Statement st = DAO.getStatement();
                String query = "SELECT * FROM fecha " +
                               "WHERE cerrada = 1 order by fecha DESC;";
                ResultSet rs = st.executeQuery(query);

                Vector<Integer> fechas = new Vector<Integer>();
                while(rs.next())
                    fechas.add(new Integer(rs.getInt("fecha")));
                return fechas;

            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
	    
	    return null;
	}

	public static int fechaActual(){
	    try {
                Statement st = DAO.getStatement();

                String query = "SELECT * FROM fecha WHERE cerrada = 0 ORDER BY fecha;";
                ResultSet rs = st.executeQuery(query);

                if (rs.next())
		    return rs.getInt("fecha");

		throw new SQLException();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

	    return 0;
	}

    public static Fecha getPeriodoDeVeda() {

        try {
            Statement st = DAO.getStatement();
            String query = "SELECT * FROM fecha WHERE fecha = " + fechaActual() + ";";
            ResultSet rs = st.executeQuery(query);
            rs.next();

            Fecha fecha = new Fecha(null);
            fecha.setFecha(rs.getInt("fecha"));
            fecha.setFecha_inicio(rs.getDate("fecha_inicio"));
            fecha.setFecha_fin(rs.getDate("fecha_fin"));
            fecha.setHora_inicio(rs.getTime("hora_inicio"));
            fecha.setHora_fin(rs.getTime("hora_fin"));
            return fecha;
             
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }


}